/*! \file PixelShaderImpl.h
 *	\brief <write description for PixelShaderImpl.h>
 *
 *	created:	2010/04/14
 *	created:	14:4:2010   17:12
 *	filename: 	c:\src\tactics-engine\libs\gd_dx11\PixelShaderImpl.h
 *	file path:	c:\src\tactics-engine\libs\gd_dx11
 *	file base:	PixelShaderImpl
 *	file ext:	h
 *	author:		Vitalii Trubchaninov
 *				venngraydog@gmail.com
 */

#ifndef _GD_DX11_PIXELSHADERIMPL_H_
#define _GD_DX11_PIXELSHADERIMPL_H_

#pragma once

#include <d3d11.h>
#include <utils/COMPointer.h>

#include "BaseShaderImpl.h"

namespace tt{
namespace gd_dx11{

class PixelShaderImpl : public BaseShaderImpl
{
	//TT_DECLARE_SELF_AND_BASE(PixelShaderImpl, BaseShaderImpl);
public:
	PixelShaderImpl(const utils::COMPointer<ID3D11PixelShader>&);
	virtual ~PixelShaderImpl();

protected:
	virtual void onApply(gd::DeviceContext*);

private:
	utils::COMPointer<ID3D11PixelShader> m_shader;
};

} //namespace gd_dx11
} //namespace tt

#endif //_GD_DX11_PIXELSHADERIMPL_H_